<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    window.onload = function() {
        var arr = [1, 2, 3, 4, 5, 6];
        //item 下标项   index 下标
        arr.forEach(function(item, index) {
            console.log(item, index);
        });

        // Array.isArray() 判断是否是一个数组 返回 true 和 false
        console.log(Array.isArray(arr));

        //some(fn)  判断数组中是否满足条件 
        var newSome = arr.some(function(item, index, arr) {
            return item > 3;
        });
        console.log(newSome);

        //every(fn) 检测数组中是否均满足某一条件
        var newEvery = arr.every(function(item, index) {
            return item > 0;
        });
        console.log(newEvery);

        // filter(fn) 过滤筛选
        var newFilter = arr.filter(function(item, index) {
            return item > 3;
        });
        console.log(newFilter);

        // reduce() 从左往右累加
        var newReduce = arr.reduce(function(sum, item, index) {
            return sum + item;
        });
        console.log(newReduce);

        // reduceRight() 从右往左累加
        var newRightReduce = arr.reduceRight(function(sum, item, index) {
            return sum + item;
        });
        console.log(newRightReduce);

        // map() 映射
        var newMap = arr.map(function(item, index) {
            return item + 1;
        });
        console.log(newMap);

        //不定参数
        function fn() {
            console.log(arguments);
            // arguments arguments arguments arguments;
        }
        fn(12312231, 9999);

        //50-100 之间的随机数
        var ran = [];
        for (var i = 0; i < 5; i++) {
            var r = Math.floor(Math.random() * (100 + 1 - 50) + 50);
            ran.push(r);
        }
        console.log(ran);

        //对象
        var obj = new Object();
        //添加
        obj.name = "焦意森";
        // 修改 用新的覆盖原来的
        obj.name = "王宁";
        //删除 delete
        delete obj.name;
        console.log(obj['name'], obj.name);

        // Math
        console.log(Math.PI); //圆周率
        console.log(Math.floor(2.8));
        console.log(Math.ceil(2.8));
        console.log(Math.round(2.2));
        console.log(Math.pow(2, 1));
        // sqrt sqrt sqrt sqrt arguments sqrt arguments

        //正则
        var str1 = " 213acd cdv abc acd abc %———— ___";
        var reg = new RegExp('abc', 'gim');
        var reg1 = /\bc/gim;

        //使用正则表达式对字符串进行查找，并将查询结果以数组的形式返回回来
        console.log(str1.match(reg1));
        //用于检索字符串中正则表达式的匹配
        console.log(reg1.exec(str1));
        //在字符串中查找是否存在指定的正则表达式，返回布尔值
        console.log(reg.test(str1));

        // //使用正则表达式对字符串进行查找，并将查找的结果以数组的形式返回回来
        // console.log(str1.match(reg));
        // //在字符串中查找是否存在指定正则表达式，并返回布尔值
        // console.log(reg.test(str1));
        // //用于检索字符串中正则表达式的匹配
        // console.log(reg.exec(str1));
    };
</script>

</html>